The present disclosure is related to access of computer-readable memory, and in particular to access keys used for enabling access to the computer-readable memory.
Computerized systems often implement memory protection schemes to prevent processes or devices from accessing one or more portions of computer-readable memory that have not been allocated for use by the process or device. In some instances, at least a portion of the computer-readable memory can be considered a protected resource, meaning that access to the computer-readable memory is controlled by the memory protection scheme. Examples of such protected resources can include source code images, operational and/or configurable parameters, or other data that may be critical for operation of the device.
Certain systems can include multiple computerized devices (e.g., devices including processing circuitry and/or computer-readable memory) that communicate to transmit information between the devices via a communication protocol, such as a command-response protocol. Memory protection schemes implemented by such systems can incorporate access keys (or codes) used to provide authenticity (e.g., identity) and integrity (e.g., intent) checks with respect to access requests to the protected resource. As one example, a memory protection scheme can require that access to a protected resource is preceded by a predetermined key, often represented by a unique sequence of bits known to both the source (e.g., accessing) and target (e.g., accessed) devices. Memory access requests that are not preceded by the predetermined key can be denied, thereby helping to ensure that only authorized devices (i.e., those devices with which the key has been shared) are allowed access to the protected memory. In addition, use of the predetermined key can promote the integrity of the protected resource by helping to minimize unintended memory modifications (i.e., unintended by even an authorized device).
Periodic modification of the predetermined key, such as the use of random and/or pseudo-random keys, can enhance security of the protected memory. However, such schemes typically require implementation of a random (or pseudo-random) number generator for use as an algorithmic seed, thereby increasing the processing burden and complexity of implementation associated with the scheme.